渗透测试是模拟黑客攻击的技术手段,对业务产品进行安全测试,将发现的漏洞和风险以测试报告的形式同步给客户,并协助其修复,防止被黑客攻击入侵。
任何未经授权的渗透测试都是违法的。 这句话就是本文要说的重点。
《中华人民共和国网络安全法》于 2016 年 11 月 7 日由全国人大常委会通过,2017 年 6 月 1 日起施行(2025 年 10 月 28 日全国人大常委会通过修正决定,自 2026 年 1 月 1 日起施行,下文摘引条文未被该次修正修改),对一些网络犯罪行为有了更明确的规定,这里主要讲下涉及个人的相关规定,其对应的法律条文摘抄如下:
第十二条 任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,煽动颠覆国家政权、推翻社会主义制度,煽动分裂国家、破坏国家统一,宣扬恐怖主义、极端主义,宣扬民族仇恨、民族歧视,传播暴力、淫秽色情信息,编造、传播虚假信息扰乱经济秩序和社会秩序,以及侵害他人名誉、隐私、知识产权和其他合法权益等活动。 第二十七条 任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。 第四十四条 任何个人和组织不得窃取或者以其他非法方式获取个人信息,不得非法出售或者非法向他人提供个人信息。 第四十六条 任何个人和组织应当对其使用网络的行为负责,不得设立用于实施诈骗,传授犯罪方法,制作或者销售违禁物品、管制物品等违法犯罪活动的网站、通讯群组,不得利用网络发布涉及实施诈骗,制作或者销售违禁物品、管制物品以及其他违法犯罪活动的信息。 第四十八条 任何个人和组织发送的电子信息、提供的应用软件,不得设置恶意程序,不得含有法律、行政法规禁止发布或者传输的信息。 第七十六条 本法下列用语的含义: (五)个人信息,是指以电子或者其他方式记录的能够单独或者与其他信息结合识别自然人个人身份的各种信息,包括但不限于自然人的姓名、出生日期、身份证件号码、个人生物识别信息、住址、电话号码等。
与渗透测试直接相关的是第 27 条规定:主动或协助他人入侵、提供黑客工具、发送恶意程序等行为都属于违法行为。
《中华人民共和国数据安全法》于 2021 年 6 月 10 日由全国人大常委会通过,2021 年 9 月 1 日起施行。渗透测试中只要涉及对目标数据的读取、导出与留存(比如用 sqlmap 拖库验证),就落入该法的"数据处理活动"范畴,相关条文摘抄如下:
第二十七条 开展数据处理活动应当依照法律、法规的规定,建立健全全流程数据安全管理制度,组织开展数据安全教育培训,采取相应的技术措施和其他必要措施,保障数据安全。利用互联网等信息网络开展数据处理活动,应当在网络安全等级保护制度的基础上,履行上述数据安全保护义务。 第三十二条 任何组织、个人收集数据,应当采取合法、正当的方式,不得窃取或者以其他非法方式获取数据。法律、行政法规对收集、使用数据的目的、范围有规定的,应当在其规定的目的和范围内收集、使用数据。
其中第 32 条与渗透测试的关系最为直接:以窃取或其他非法方式获取数据本身就是违法行为,与是否造成破坏无关——这也是"袁炜事件"中获取 932 条实名信息被追责的法律依据之一。此外,该法第 29 条还要求开展数据处理活动的组织加强风险监测,发现缺陷、漏洞立即补救并在发生数据安全事件时按规定报告。
《中华人民共和国个人信息保护法》于 2021 年 8 月 20 日由全国人大常委会通过,2021 年 11 月 1 日起施行,是我国个人信息保护领域的基础性法律,相关条文摘抄如下:
第五条 处理个人信息应当遵循合法、正当、必要和诚信原则,不得通过误导、欺诈、胁迫等方式处理个人信息。 第六条 处理个人信息应当具有明确、合理的目的,并应当与处理目的直接相关,采取对个人权益影响最小的方式。收集个人信息,应当限于实现处理目的的最小范围,不得过度收集个人信息。 第十条 任何组织、个人不得非法收集、使用、加工、传输他人个人信息,不得非法买卖、提供或者公开他人个人信息;不得从事危害国家安全、公共利益的个人信息处理活动。 第二十八条 敏感个人信息是一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息,以及不满十四周岁未成年人的个人信息。只有在具有特定的目的和充分的必要性,并采取严格保护措施的情形下,个人信息处理者方可处理敏感个人信息。 第二十九条 处理敏感个人信息应当取得个人的单独同意;法律、行政法规规定处理敏感个人信息应当取得书面同意的,从其规定。
对渗透测试而言,第 10 条明确了非法收集、使用、传输个人信息(包括在验证漏洞时导出用户数据)同样违法;第 28、29 条则意味着:即使拿到了测试授权,涉及敏感个人信息(手机号、身份证号、金融账户等)的验证项也要格外克制——能证明漏洞存在即可,不做数据留存,避免触碰"单独同意"红线。
《刑法》第 285 条和第 286 条中,分别规定了非法侵入计算机信息系统罪和破坏计算机信息系统罪:
第二百八十五条 违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。 第二百八十六条 违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。 违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。 故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。
此外,2009 年的《刑法修正案(七)》在第 285 条增加了第二款和第三款:第二款对应"非法获取计算机信息系统数据、非法控制计算机信息系统罪",第三款对应"提供侵入、非法控制计算机信息系统程序、工具罪"——提供渗透工具、未授权获取数据等行为都可能落入这两款。
最高人民法院、最高人民检察院《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》(法释〔2011〕19 号)对第二款罪名的"情节严重"作了量化,规定具有以下情形之一的,就会被认定为"情节严重":
(一)获取支付结算、证券交易、期货交易等网络金融服务的身份认证信息十组以上的; (二)获取第(一)项以外的身份认证信息五百组以上的; (三)非法控制计算机信息系统二十台以上的; (四)违法所得五千元以上或者造成经济损失一万元以上的; (五)其他情节严重的情形。
看上面的量化数据,“情节严重”还是很容易达到的,尤其是 SQL 注入(在第 06、08 节介绍),用 sqlmap 一测试,不小心就可能获取 500 组身份认证信息。
这种在未授权的情况下进行的渗透测试很容易违反上述法律规定,那么如何合法地进行渗透测试呢?这自然是要先拿到授权,而且必须是网站所有者的官方书面授权,并盖有公章的。授权里要明确测试范围,比如域名,要注明测试时间段,以及要把具体的渗透测试方案同步给客户,在客户同意后再进行测试。
现在很多企业都有自己的 SRC(安全响应中心)平台,都有公开的漏洞奖励计划,允许大家对其产品进行安全测试。也有一些第三方众测平台,召集优秀的白帽子进行安全测试,这种一般可以理解为授权,但也不是绝对的,主要还是得明确测试与入侵的区别。
测试与入侵的区别可以参考以下几点:
是否窃取业务数据;
是否破坏业务的正常运营,特别是造没造成实际的经济损失;
是否恶意留取后门;
是否未经授权,对国家事务、国防建设、尖端科学技术领域的计算机信息系统进行测试。
这里更关键的是看企业的态度:如果企业真的追究,一般一告一个准,哪怕第一时间报到了 SRC 或第三方平台,比如著名的“袁炜事件”。
2016 年的“袁炜事件”就是一个醒目的案例,当事人袁炜发现了“世纪佳缘”网站的漏洞,并将漏洞提交到第三方漏洞报告平台“乌云”上,“世纪佳缘”先是确认并修复了漏洞,并对乌云和袁炜进行致谢。不过随后,“世纪佳缘”以“网站数据被非法窃取”为由报警,警方经调查拘留了袁炜。
据袁炜父亲写的公开信所说,袁炜使用 sqlmap 利用 SQL 注入漏洞获取了“世纪佳缘”的网站数据 932 条实名信息。而袁炜也正是因为这才被抓的。
一般情况下,企业安全人员与业务人员是两批人,如果业务人员直接借助法务起诉白帽子,安全人员想拦也拦不住,白帽子基本是要遭罪的。虽然 SRC 和众测平台有邀请测试的公开声明,但一旦涉及疑似入侵行为,仍可报警抓人。
另外还有一起相关案例。
2020 年 7 月,杭州市滨江区人民法院公开了一份刑事判决书,原苏州紫豹科技有限公司法定代表人吴永丰以盗窃罪被逮捕入狱,最终被判 12 年。
事情经过,直接引用公开的资料:
当时,紫豹科技受江苏警方委托调查诈骗案,调查一个“万鸿彩店”App,该 App 的后台叫“米来了”,由九辰公司管理。 吴永丰在 2019 年 4 月 20 日下午 15 时至 19 时,利用调查时掌握的运维后台服务器数据,注册了 30 个虚假账户,运行自制转账程序,向九辰公司所管理的第三方支付账户发起转账请求,转账共计 88.47755 万元。 88 万元中 45 万元用于比特币交易,10 万元转至他人账户后无影无踪,剩余 33 万被通过 ATM 取现、POS 机刷卡等方式提取,用于还款、发放工资、消费等等。 2019 年 6 月 19 日,作案两个月之后,吴永丰主动投案,在杭州市看守所中,他度过了 25 岁生日。整整一年之后,2020 年 6 月 19 日,吴永丰在法庭上知道了他接下来的命运,有期徒刑十二年。
这是由授权的渗透测试转变为入侵犯罪的案例。原本协助警方破案是件好事,但最终还是没能抵住金钱的诱惑,误入歧途,甚为可惜。